In general, constructing a software system means arranging an environment in which plural and different pieces of middleware, which are installed or set, work cooperatively.
As a mechanism for constructing efficiently the environment, which makes the plural pieces of middleware work cooperatively, in a field of software development, a method of componentizing a software and linking the software components is known. As an example of the above-mentioned method, the object-orientation, the component-orientation and the like are exemplified. An art of applying the above-mentioned method to construction of a system which includes plural pieces of middleware is disclosed, for example, in NPL 1.
According to the art which is disclosed in NPL 1, a model (pattern) of a system is defined by a combination of products (components) each of which is a system component implementing some functionalities. For example, a model ‘Web3Tier’ is constructed by use of a product ‘MySQL’ or ‘PostgreSQL’ which implements functionality ‘RDB’, and a product ‘Tomcat’ or ‘Jetty’ which implements functionality ‘AP-Server’. That is, as a combination of the products to construct the model ‘Web3Tier’, there are four patterns: ‘MySQL’ and ‘Tomcat’, ‘MySQL’ and ‘Jetty’, ‘PostgreSQL’ and ‘Tomcat’, and ‘PostgreSQL’ and ‘Jetty’.
An art of carrying out efficient verification (test) of a system, which includes a combination of system components, is disclosed, for example, in PTL 1. According to the art which is disclosed in PTL 1, a test case for testing an operation of each component is prepared, and the test cases of components to construct the system are presented collectively as test cases which are necessary for testing the system.